
<?php
if (!defined('isIncluded'))
	header('location: index.php');

if (!isset($_SESSION['uploadedFile'])) header('location: index.php');

set_time_limit(0);
date_default_timezone_set('Europe/Amsterdam');

$_SESSION['AUTOLOAD'] = false;

require_once(APP_LIB_PATH.'PHPExcel'.DS.'IOFactory.php');

$objReader = new PHPExcel_Reader_Excel2007();

$objPHPExcel = $objReader->load(APP_EXCEL_PATH.$_SESSION['uploadedFile']);
$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);

$_SESSION['AUTOLOAD'] = true;

function select($name, $data)
{
	echo '<select name="' . $name . '">';
	echo '<option value="0">Selecteer een kolom uit het Excel-bestand</option>';
	foreach($data['1'] as $char => $field)
	{
		echo '<option value="' . $char . '">' . $field . '</option>';
	}
	echo '</select>';
}
function productlijstExists($naam)
{
	$productlijsten = productlijst::getAll();
	foreach($productlijsten as $productlijst)
	{
		if($productlijst->getProperty('Naam') == $naam)
		{
			return true;
			break;
		}
	}
	return false;
}

if(!isset($_POST['submit']))
{
?>
<h3>Kolommen koppelen</h3>
<?php
echo notification('<br /><br />Standaard: Dit zijn de standaard waarden die wij in ons systeem gebruiken.<br /> Excel: Dit zijn de kolommen uit het Excel-bestand.', 'info');
?>
<form method="post">
<table style="width: 100%" class="list">
	<tr>
		<th>Standaard</th><th>Excel</th>
	</tr>
	<tr>
		<td>Naam productlijst: </td><td><input type="text" name="Naam" pattern="[a-zA-Z\d]*" /> (geen spaties, a-zA-Z0-9)</td>
	</tr>
	<tr>
		<td>Artikelnummer: </td><td><?php select('Artikelnummer',  $sheetData);?></td>
	</tr>
	<tr>
		<td>Artikelnaam: </td><td><?php select('Artikelnaam',  $sheetData);?></td>
	</tr>
	<tr>
		<td>Kleur: </td><td><?php select('Kleur',  $sheetData);?></td>
	</tr>
	<tr>
		<td>Maat: </td><td><?php select('Maat',  $sheetData);?></td>
	</tr>
	<tr>
		<td>Verkoopprijs: </td><td><?php select('Verkoopprijs',  $sheetData);?></td>
	</tr>
	<tr>
		<td>Omschrijving: </td><td><?php select('Omschrijving',  $sheetData);?></td>
	</tr>
	<tr>
		<td>Link afbeelding: </td><td><?php select('Afbeelding',  $sheetData);?></td>
	</tr>
	<tr>
		<td colspan="2" style="text-align: center"><input type="submit" name="submit" class="button" value="Koppel kolommen"/></td>
	</tr>
</table>
</form>
<?php
}
else
{
	if(productlijstExists($_POST['Naam']))
	{
		echo notification('Er bestaat al een productlijst met de door uw gekozen naam. Ga terug en kies een andere naam.', 'error');
	}
	else
	{

		$option['Artikelnummer'] = $_POST['Artikelnummer'];
		$option['Artikelnaam'] = $_POST['Artikelnaam'];
		$option['Kleur'] = $_POST['Kleur'];
		$option['Maat'] = $_POST['Maat'];
		$option['Verkoopprijs'] = $_POST['Verkoopprijs'];
		$option['Omschrijving'] = $_POST['Omschrijving'];
		$option['Afbeelding'] = $_POST['Afbeelding'];

		$properties_values = array (
			'Naam' => $_POST['Naam']
		);

		Productlijst::create($properties_values);

		$productlijsten = Productlijst::getAll();
		foreach($productlijsten as $productlijst)
		{
			if($productlijst->getProperty('Naam') == $_POST['Naam'])
				$ProductlijstID = $productlijst->getProperty('ProductlijstID');
		}

		

		unset($sheetData['1']);


		$properties['Artikelnummer'] = '';
		$properties['Artikelnaam'] = '';
		$properties['Kleur'] = '';
		$properties['Maat'] = '';
		$properties['Verkoopprijs'] = '';
		$properties['Omschrijving'] = '';
		$properties['Afbeelding'] = '';
		$properties['ProductlijstID'] = $ProductlijstID;


		foreach($sheetData as $array => $key)
		{
			foreach($option as $key2 => $value)
			{
				if($value != '0')
				{
					$properties[$key2] = $key[$value];
				}
			}
			foreach($properties as $key3 => $value3)
			{
				if($value3 == null)
				{
					$properties2[$key3] = '';
				}
				else
				{
					$properties2[$key3] = $value3;
				}
			}

			Product::create($properties2);
		}
		unlink(APP_EXCEL_PATH.$_SESSION['uploadedFile']);

		echo notification('Productenlijst succesvol opgeslagen.', 'ok');

	}
}
?>
